package com.evil.application.pojo.dto;

import com.evil.common.application.dto.permission.app.AppPermissionsListDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 新建应用 请求实体
 *
 * @author liyang
 * @date 2022-08-08 00:00
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class AddApplicationReqDTO extends AppPermissionsListDTO {

    /**
     * 应用包id列表
     */
    @NotEmpty(message = "请选择应用包")
    private List<Long> packageIds;

    /**
     * 应用类型(0:未知类型, 1: 表单流程应用, 2: 表单应用, 3: 视图应用)
     */
    @NotNull(message = "应用类型参数不能为空")
    private Integer applicationType;

    /**
     * 应用名称
     */
    @Length(min = 1, max = 64)
    @NotBlank(message = "应用名称不能为空")
    private String applicationName;

    /**
     * 应用key
     */
    private String applicationKey;

    /**
     * icon文件code
     */
    private String iconFileCode;

    public AddApplicationReqDTO() {
    }
}
